x86: drop setup_idle_pagetable()
authorJan Beulich <jbeulich@suse.com>
Wed, 12 Jun 2013 15:27:08 +0000 (17:27 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 12 Jun 2013 15:27:08 +0000 (17:27 +0200)
With vcpu->domain->arch.perdomain_l3_pg no longer getting set up for
the idle domain, this creates an invalid L4 entry (due to translating
a NULL struct page_info pointer to a physical address).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
xen/arch/x86/setup.c
xen/arch/x86/x86_64/mm.c
xen/include/asm-x86/page.h

index 8c8b78dd7cf416a6c716e683eb0178aad71cbd0e..a70d31bbbba93bc373af7df4e240e97fd445749c 100644 (file)
@@ -185,7 +185,6 @@ static void __init init_idle_domain(void)
     scheduler_init();
     set_current(idle_vcpu[0]);
     this_cpu(curr_vcpu) = current;
-    setup_idle_pagetable();
 }
 
 void __devinit srat_detect_node(int cpu)
index 8cd0d30e84e1e5bf0df3a37c36188f96356cb5e7..96a033bf88e26c249286e165a9aa39bcfa151947 100644 (file)
@@ -810,14 +810,6 @@ void __init paging_init(void)
     panic("Not enough memory for m2p table\n");    
 }
 
-void __init setup_idle_pagetable(void)
-{
-    /* Install per-domain mappings for idle domain. */
-    l4e_write(&idle_pg_table[l4_table_offset(PERDOMAIN_VIRT_START)],
-              l4e_from_page(idle_vcpu[0]->domain->arch.perdomain_l3_pg,
-                            __PAGE_HYPERVISOR));
-}
-
 void __init zap_low_mappings(void)
 {
     BUG_ON(num_online_cpus() != 1);
index e53e1e5a7597f80fb040c68bc0939da799081aca..998a0c79dd787375a6c2a8b9c03940342f68ec86 100644 (file)
@@ -286,7 +286,6 @@ extern l2_pgentry_t l2_identmap[4*L2_PAGETABLE_ENTRIES];
 extern l1_pgentry_t l1_identmap[L1_PAGETABLE_ENTRIES],
     l1_fixmap[L1_PAGETABLE_ENTRIES];
 void paging_init(void);
-void setup_idle_pagetable(void);
 #endif /* !defined(__ASSEMBLY__) */
 
 #define _PAGE_PRESENT  _AC(0x001,U)